from llama_index.core.node_parser import TokenTextSplitter
from llama_index.core.schema import Document,TextNode,MetadataMode
from llama_index.core import SimpleDirectoryReader
from llama_index.llms.ollama import Ollama
from llama_index.core.extractors import SummaryExtractor,TitleExtractor
texts = ["This is a test","This is another test","This is a third test"]
nodes = [TextNode(text=text) for text in texts]
print(nodes)

llm = Ollama("qwen:1.8b")
extractor = TitleExtractor(llm=llm,show_progress=True,prompt_template='请生成以下内容的摘要:{context_str}\n:摘要'
                             ,metadata_mode=MetadataMode.NONE)
docs = [Document(text ="""
项目概述：\n
1、作为汽车快速增长的公司，迫切需要一个平台去洞察用户的行为，对用户进行分层精细化运营。在汽车行业中：线索的质量对成交有至关重要的作用。行为的实时洞察能有效的提高大定的成功率，减少战败。
2、利用实时计算能力，快速对每一个用户行为进行洞察。在计算中，对每种行为进行打分计算，时间作为衰减因子。实时预测用户购买概率。\n
3结合神经网络、机器学习能力。每个用户的洞察，基于用户的行为，对用户行为的指标和其他信息，推断用户的行为、动机、意图，从而洞察用户下大定的概率。
4、oneid\n
基于用户注册后留下手机号、身份证等基本信息，将不同的 one_id 识别成同一个人，进一步融合成新的 one_id。\n
线索数据：汽车垂直媒体获取到的用户线索，线索数据基本是外部数据。\n
潜客数据：用户通过线索来到线下门店或自来客的用户数据\n
车主数据：购车数据、车主认证数据、APP 注册数据、续保数据、维修保养数据等等""")]
# parser = TokenTextSplitter(chunk_size = 500,chunk_overlap=20,separator='\n')
# nodes = parser.get_nodes_from_documents(documents=docs)
# print(nodes)
print(extractor(docs))